xend: Fix 'monitor' domain config parameter.
authorKeir Fraser <keir.fraser@citrix.com>
Thu, 24 Dec 2009 08:59:47 +0000 (08:59 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Thu, 24 Dec 2009 08:59:47 +0000 (08:59 +0000)
Introduce new 'monitor_path' parameter, so that 'monitor' can revert
to its old type and meaning.

Fixes domain reboot and save/restore.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
tools/python/xen/xend/XendConfig.py
tools/python/xen/xend/image.py
tools/python/xen/xm/create.py

index dfcb984e113629af3d97c71893388ac00224e53c..216665a4e0c15b8960101629f3be33c5b61a3e7e 100644 (file)
@@ -145,7 +145,8 @@ XENAPI_PLATFORM_CFG_TYPES = {
     'keymap': str,
     'isa' : int,
     'localtime': int,
-    'monitor': str,
+    'monitor': int,
+    'monitor_path': str,
     'nographic': int,
     'nomigrate': int,
     'pae' : int,
index c13e93ad2e077d1222bde4be06eddfe6bfc8cb0b..44ee97c8631627a7ac180d14efbaadfd80f4bff3 100644 (file)
@@ -371,13 +371,11 @@ class ImageHandler:
         if vmConfig['platform'].get('parallel'):
             ret = ret + ["-parallel", vmConfig['platform'].get('parallel')]
 
-        if type(vmConfig['platform'].get('monitor', 0)) is int:
-            if int(vmConfig['platform'].get('monitor', 0)) != 0:
-                ret = ret + ['-monitor', 'vc']
+        if int(vmConfig['platform'].get('monitor', 0)) != 0:
+            if vmConfig['platform'].get('monitor_path'):
+                ret = ret + ['-monitor', vmConfig['platform'].get('monitor_path')]
             else:
-                ret = ret + ['-monitor', 'null']
-        else:
-            ret = ret + ['-monitor', vmConfig['platform'].get('monitor', 0)]
+                ret = ret + ['-monitor', 'vc']
 
         return ret
 
index d89a23e3a17aa2c8020e0f0048c1e9868d5efc2b..73a6121c631f95a4b441b67ea51cad64ffbca835 100644 (file)
@@ -511,10 +511,14 @@ gopts.var('serial', val='FILE',
           fn=set_value, default='',
           use="Path to serial or pty or vc")
 
-gopts.var('monitor', val='0|1|FILE',
-          fn=set_value, default=1,
+gopts.var('monitor', val='no|yes',
+          fn=set_bool, default=0,
           use="""Should the device model use monitor?""")
 
+gopts.var('monitor_path', val='FILE',
+          fn=set_value, default='',
+          use="Non-default path to device model monitor")
+
 gopts.var('localtime', val='no|yes',
           fn=set_bool, default=0,
           use="Is RTC set to localtime?")
@@ -745,7 +749,10 @@ def configure_image(vals):
         config_image.append(['parallel', vals.parallel])
     if vals.serial:
         config_image.append(['serial', vals.serial])
-    if vals.monitor:
+    if vals.monitor_path:
+        config_image.append(['monitor_path', vals.monitor_path])
+        config_image.append(['monitor', 1])
+    elif vals.monitor:
         config_image.append(['monitor', vals.monitor])
     if vals.extra:
         config_image.append(['args', vals.extra])